package com.mingqijia.gassafety.webserver.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.mingqijia.gassafety.db.entity.BusinessNotice;
import com.mingqijia.gassafety.db.entity.WarnStrategy;
import com.mingqijia.gassafety.shared.utils.commonUtils.PageUtil;
import com.mingqijia.gassafety.webserver.request.*;
import com.mingqijia.gassafety.webserver.response.LocalMessageResponse;
import com.mingqijia.gassafety.webserver.response.StaffListResponse;
import com.mingqijia.gassafety.webserver.response.WarnStrategyRes;
import com.mingqijia.gassafety.webserver.response.WarnStrategyResponse;

import javax.validation.Valid;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 报警策略 服务类
 * </p>
 *
 * @author zhangfei
 * @since 2022-02-25
 */
public interface WarnStrategyService extends IService<WarnStrategy> {


    Object saveWarnStrategy(SaveWarnStrategyRequest request,int source);

    Object editWarnStrategy(SaveWarnStrategyRequest request,int source);

    List<WarnStrategy> queryStrategy(SaveWarnStrategyRequest request, String spId, Long id);

    WarnStrategyResponse warnStrategyInfo(Long id);

    PageUtil<WarnStrategyRes> warnStrategyList(StrategyListRequest request);

    void deleteWarnStrategy(DeleteWarnStrategyRequest request);

    void updateStatus(UpdateStrategyRequest request);

    void killWarning(String imei, String taskIdentificationCode);

    void killInformRecord(String imei, String taskIdentificationCode);

    void killWarningByIndustry(String consumerId);

    Map<String, List<LocalMessageResponse>> localMessage();

    PageUtil<StaffListResponse> staffList(@Valid StaffListRequest request);

    Object departmentList();

    Object checkStrategyInfo(Long id);
}
